/**
 * 研发状态机业务逻辑直接实现文件
 * 当所有间接加载方法都失败时，可以直接引用此文件
 */

// 项目状态定义
const PROJECT_STATUS = {
  PENDING: 0, // 待立项
  REVIEWING: 1, // 项目审核
  DORMANT: 2, // 休眠
  ACTIVE: 3, // 活动
  COMPLETED: 99 // 完成
};

// 角色模拟配置
const ROLE_SIMULATION = {
  ENABLED: false,
  ADMIN_ONLY: false,
  ALLOWED_ROLES: [],
  LOG_ACTIONS: true
};

// 获取状态名称
function getStatusName(status) {
  const statusNames = {
    0: '待立项',
    1: '项目审核',
    2: '休眠',
    3: '活动',
    99: '完成'
  };
  return statusNames[status] || '未知状态';
}

// 启用状态调试模式
function enableStateDebugMode() {
  console.log('[直接实现] 启用状态调试模式');
  return true;
}

// 禁用状态调试模式
function disableStateDebugMode() {
  console.log('[直接实现] 禁用状态调试模式');
  return true;
}

// 设置角色模拟启用状态
function setRoleSimulationEnabled(enabled) {
  console.log(`[直接实现] 设置角色模拟${enabled ? '启用' : '禁用'}`);
  return true;
}

// 获取角色模拟配置
function getRoleSimulationConfig() {
  return {
    enabled: false,
    canUse: true
  };
}

// 检查角色权限
function hasPermission() {
  return true;
}

// 检查事件权限
function hasEventPermission() {
  return true;
}

// 导出所有方法和常量
module.exports = {
  PROJECT_STATUS,
  ROLE_SIMULATION,
  getStatusName,
  enableStateDebugMode,
  disableStateDebugMode,
  setRoleSimulationEnabled,
  getRoleSimulationConfig,
  hasPermission,
  hasEventPermission
}; 